package com.neu.questionnaireplus.config.dao;


import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.beans.PropertyVetoException;

@Configuration
//配置mybatis mapper的扫描路径
@MapperScan("com.sp.questionnaire.dao")
public class DataSourceConfiguration {

  @Value("${jdbc.driver}")
  private String jdbcDriver;
  @Value("${jdbc.url}")
  private String jdbcUrl;
  @Value("${jdbc.username}")
  private String jdbcUsername;
  @Value("${jdbc.password}")
  private String jdbcPassword;


  /**
  * @Description: 配置数据库连接池
  * @Param: []
  * @return: com.mchange.v2.c3p0.ComboPooledDataSource
  * @Author: ~FHX~ (:TSunS:)
  * @Date: 2022/10/26
  */
  @Bean(name = "dataSource")
  public ComboPooledDataSource createDataSource() throws PropertyVetoException {
    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    dataSource.setDriverClass(jdbcDriver);
    dataSource.setJdbcUrl(jdbcUrl);
    dataSource.setUser(jdbcUsername);
    dataSource.setPassword(jdbcPassword);
    //关闭连接后不自动commit
    dataSource.setAutoCommitOnClose(false);
    return dataSource;
  }
}

